package monitormercado.negocio.analise.estrategia.simulacao;

import java.util.ArrayList;
import java.util.List;

import monitormercado.framework.Analise;
import monitormercado.framework.Estrategia;

public class ResultadoFinalSimulacaoAcao {

	private Estrategia estrategia;
	private String siglaAcao;
	private List<ResultadoParcialSimulacao> resultadosParciais;
	private Analise analise;
	private double retornoTotal;
	private double mediaRetornosPositivos;
	private double mediaRetornosNegativos;
	private double mediaRetornosParciais;
	private int numeroRetornosPositivos;
	private int numeroRetornosNegativos;
	private double diferencaAbsolutaBenchmark;
	private double diferencaRelativaBenchmark;
	
	public ResultadoFinalSimulacaoAcao(String siglaAcao, Estrategia estrategia) {
		this.siglaAcao = siglaAcao;
		this.estrategia = estrategia;
		resultadosParciais = new ArrayList<ResultadoParcialSimulacao>();
	}

	public Estrategia getEstrategia() {
		return estrategia;
	}

	public void setEstrategia(Estrategia estrategia) {
		this.estrategia = estrategia;
	}

	public String getSiglaAcao() {
		return siglaAcao;
	}
	public void setSiglaAcao(String siglaAcao) {
		this.siglaAcao = siglaAcao;
	}
	public List<ResultadoParcialSimulacao> getResultadosParciais() {
		return resultadosParciais;
	}
	public void setResultadosParciais(List<ResultadoParcialSimulacao> resultadosParciais) {
		this.resultadosParciais = resultadosParciais;
	}
	public Analise getAnalise() {
		return analise;
	}
	public void setAnalise(Analise analise) {
		this.analise = analise;
	}
	public double getRetornoTotal() {
		return retornoTotal;
	}
	public void setRetornoTotal(double retornoTotal) {
		this.retornoTotal = retornoTotal;
	}
	
	public void adicionarResultadoParcialSimulacao(ResultadoParcialSimulacao resultadoParcial) {
		resultadosParciais.add(resultadoParcial);
	}

	public double getMediaRetornosPositivos() {
		return mediaRetornosPositivos;
	}

	public void setMediaRetornosPositivos(double mediaRetornosPositivos) {
		this.mediaRetornosPositivos = mediaRetornosPositivos;
	}

	public double getMediaRetornosNegativos() {
		return mediaRetornosNegativos;
	}

	public void setMediaRetornosNegativos(double mediaRetornosNegativos) {
		this.mediaRetornosNegativos = mediaRetornosNegativos;
	}

	public double getMediaRetornosParciais() {
		return mediaRetornosParciais;
	}

	public void setMediaRetornosParciais(double mediaRetornosParciais) {
		this.mediaRetornosParciais = mediaRetornosParciais;
	}

	public int getNumeroRetornosPositivos() {
		return numeroRetornosPositivos;
	}

	public void setNumeroRetornosPositivos(int numeroRetornosPositivos) {
		this.numeroRetornosPositivos = numeroRetornosPositivos;
	}

	public int getNumeroRetornosNegativos() {
		return numeroRetornosNegativos;
	}

	public void setNumeroRetornosNegativos(int numeroRetornosNegativos) {
		this.numeroRetornosNegativos = numeroRetornosNegativos;
	}

	public double getDiferencaAbsolutaBenchmark() {
		return diferencaAbsolutaBenchmark;
	}

	public void setDiferencaAbsolutaBenchmark(double diferencaAbsolutaBenchmark) {
		this.diferencaAbsolutaBenchmark = diferencaAbsolutaBenchmark;
	}

	public double getDiferencaRelativaBenchmark() {
		return diferencaRelativaBenchmark;
	}

	public void setDiferencaRelativaBenchmark(double diferencaRelativaBenchmark) {
		this.diferencaRelativaBenchmark = diferencaRelativaBenchmark;
	}
}
